package org.ace.dao.model;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class PlayerExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private Integer mysqlOffset;

    private Integer mysqlLength;

    public PlayerExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    /**
     * @param mysqlOffset 指定返回记录行的偏移量<br> mysqlOffset= 5,mysqlLength=10;  // 检索记录行 6-15
     */
    public void setMysqlOffset(Integer mysqlOffset) {
        this.mysqlOffset = mysqlOffset;
    }

    public Integer getMysqlOffset() {
        return mysqlOffset;
    }

    /**
     * @param mysqlLength 指定返回记录行的最大数目<br> mysqlOffset= 5,mysqlLength=10;  // 检索记录行 6-15
     */
    public void setMysqlLength(Integer mysqlLength) {
        this.mysqlLength = mysqlLength;
    }

    public Integer getMysqlLength() {
        return mysqlLength;
    }

    protected abstract static class GeneratedCriteria {
        protected List<String> criteriaWithoutValue;

        protected List<Map<String, Object>> criteriaWithSingleValue;

        protected List<Map<String, Object>> criteriaWithListValue;

        protected List<Map<String, Object>> criteriaWithBetweenValue;

        protected GeneratedCriteria() {
            super();
            criteriaWithoutValue = new ArrayList<String>();
            criteriaWithSingleValue = new ArrayList<Map<String, Object>>();
            criteriaWithListValue = new ArrayList<Map<String, Object>>();
            criteriaWithBetweenValue = new ArrayList<Map<String, Object>>();
        }

        public boolean isValid() {
            return criteriaWithoutValue.size() > 0
                || criteriaWithSingleValue.size() > 0
                || criteriaWithListValue.size() > 0
                || criteriaWithBetweenValue.size() > 0;
        }

        public List<String> getCriteriaWithoutValue() {
            return criteriaWithoutValue;
        }

        public void setCriteriaWithoutValue(List<String> criteriaWithoutValue) {
            this.criteriaWithoutValue = criteriaWithoutValue;
        }

        public List<Map<String, Object>> getCriteriaWithSingleValue() {
            return criteriaWithSingleValue;
        }

        public void setCriteriaWithSingleValue(List<Map<String, Object>> criteriaWithSingleValue) {
            this.criteriaWithSingleValue = criteriaWithSingleValue;
        }

        public List<Map<String, Object>> getCriteriaWithListValue() {
            return criteriaWithListValue;
        }

        public void setCriteriaWithListValue(List<Map<String, Object>> criteriaWithListValue) {
            this.criteriaWithListValue = criteriaWithListValue;
        }

        public List<Map<String, Object>> getCriteriaWithBetweenValue() {
            return criteriaWithBetweenValue;
        }

        public void setCriteriaWithBetweenValue(List<Map<String, Object>> criteriaWithBetweenValue) {
            this.criteriaWithBetweenValue = criteriaWithBetweenValue;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteriaWithoutValue.add(condition);
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            Map<String, Object> map = new HashMap<String, Object>();
            map.put("condition", condition);
            map.put("value", value);
            criteriaWithSingleValue.add(map);
        }

        protected void addCriterion(String condition, List<? extends Object> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            Map<String, Object> map = new HashMap<String, Object>();
            map.put("condition", condition);
            map.put("values", values);
            criteriaWithListValue.add(map);
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            List<Object> list = new ArrayList<Object>();
            list.add(value1);
            list.add(value2);
            Map<String, Object> map = new HashMap<String, Object>();
            map.put("condition", condition);
            map.put("values", list);
            criteriaWithBetweenValue.add(map);
        }

        public Criteria andUseridIsNull() {
            addCriterion("UserId is null");
            return (Criteria) this;
        }

        public Criteria andUseridIsNotNull() {
            addCriterion("UserId is not null");
            return (Criteria) this;
        }

        public Criteria andUseridEqualTo(Integer value) {
            addCriterion("UserId =", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotEqualTo(Integer value) {
            addCriterion("UserId <>", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridGreaterThan(Integer value) {
            addCriterion("UserId >", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridGreaterThanOrEqualTo(Integer value) {
            addCriterion("UserId >=", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridLessThan(Integer value) {
            addCriterion("UserId <", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridLessThanOrEqualTo(Integer value) {
            addCriterion("UserId <=", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridIn(List<Integer> values) {
            addCriterion("UserId in", values, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotIn(List<Integer> values) {
            addCriterion("UserId not in", values, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridBetween(Integer value1, Integer value2) {
            addCriterion("UserId between", value1, value2, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotBetween(Integer value1, Integer value2) {
            addCriterion("UserId not between", value1, value2, "userid");
            return (Criteria) this;
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andUsernameIsNull() {
            addCriterion("UserName is null");
            return (Criteria) this;
        }

        public Criteria andUsernameIsNotNull() {
            addCriterion("UserName is not null");
            return (Criteria) this;
        }

        public Criteria andUsernameEqualTo(String value) {
            addCriterion("UserName =", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameNotEqualTo(String value) {
            addCriterion("UserName <>", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameGreaterThan(String value) {
            addCriterion("UserName >", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameGreaterThanOrEqualTo(String value) {
            addCriterion("UserName >=", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameLessThan(String value) {
            addCriterion("UserName <", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameLessThanOrEqualTo(String value) {
            addCriterion("UserName <=", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameLike(String value) {
            addCriterion("UserName like", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameNotLike(String value) {
            addCriterion("UserName not like", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameIn(List<String> values) {
            addCriterion("UserName in", values, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameNotIn(List<String> values) {
            addCriterion("UserName not in", values, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameBetween(String value1, String value2) {
            addCriterion("UserName between", value1, value2, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameNotBetween(String value1, String value2) {
            addCriterion("UserName not between", value1, value2, "username");
            return (Criteria) this;
        }

        public Criteria andUserjobIsNull() {
            addCriterion("UserJob is null");
            return (Criteria) this;
        }

        public Criteria andUserjobIsNotNull() {
            addCriterion("UserJob is not null");
            return (Criteria) this;
        }

        public Criteria andUserjobEqualTo(Integer value) {
            addCriterion("UserJob =", value, "userjob");
            return (Criteria) this;
        }

        public Criteria andUserjobNotEqualTo(Integer value) {
            addCriterion("UserJob <>", value, "userjob");
            return (Criteria) this;
        }

        public Criteria andUserjobGreaterThan(Integer value) {
            addCriterion("UserJob >", value, "userjob");
            return (Criteria) this;
        }

        public Criteria andUserjobGreaterThanOrEqualTo(Integer value) {
            addCriterion("UserJob >=", value, "userjob");
            return (Criteria) this;
        }

        public Criteria andUserjobLessThan(Integer value) {
            addCriterion("UserJob <", value, "userjob");
            return (Criteria) this;
        }

        public Criteria andUserjobLessThanOrEqualTo(Integer value) {
            addCriterion("UserJob <=", value, "userjob");
            return (Criteria) this;
        }

        public Criteria andUserjobIn(List<Integer> values) {
            addCriterion("UserJob in", values, "userjob");
            return (Criteria) this;
        }

        public Criteria andUserjobNotIn(List<Integer> values) {
            addCriterion("UserJob not in", values, "userjob");
            return (Criteria) this;
        }

        public Criteria andUserjobBetween(Integer value1, Integer value2) {
            addCriterion("UserJob between", value1, value2, "userjob");
            return (Criteria) this;
        }

        public Criteria andUserjobNotBetween(Integer value1, Integer value2) {
            addCriterion("UserJob not between", value1, value2, "userjob");
            return (Criteria) this;
        }

        public Criteria andLvIsNull() {
            addCriterion("Lv is null");
            return (Criteria) this;
        }

        public Criteria andLvIsNotNull() {
            addCriterion("Lv is not null");
            return (Criteria) this;
        }

        public Criteria andLvEqualTo(Integer value) {
            addCriterion("Lv =", value, "lv");
            return (Criteria) this;
        }

        public Criteria andLvNotEqualTo(Integer value) {
            addCriterion("Lv <>", value, "lv");
            return (Criteria) this;
        }

        public Criteria andLvGreaterThan(Integer value) {
            addCriterion("Lv >", value, "lv");
            return (Criteria) this;
        }

        public Criteria andLvGreaterThanOrEqualTo(Integer value) {
            addCriterion("Lv >=", value, "lv");
            return (Criteria) this;
        }

        public Criteria andLvLessThan(Integer value) {
            addCriterion("Lv <", value, "lv");
            return (Criteria) this;
        }

        public Criteria andLvLessThanOrEqualTo(Integer value) {
            addCriterion("Lv <=", value, "lv");
            return (Criteria) this;
        }

        public Criteria andLvIn(List<Integer> values) {
            addCriterion("Lv in", values, "lv");
            return (Criteria) this;
        }

        public Criteria andLvNotIn(List<Integer> values) {
            addCriterion("Lv not in", values, "lv");
            return (Criteria) this;
        }

        public Criteria andLvBetween(Integer value1, Integer value2) {
            addCriterion("Lv between", value1, value2, "lv");
            return (Criteria) this;
        }

        public Criteria andLvNotBetween(Integer value1, Integer value2) {
            addCriterion("Lv not between", value1, value2, "lv");
            return (Criteria) this;
        }

        public Criteria andMapIsNull() {
            addCriterion("Map is null");
            return (Criteria) this;
        }

        public Criteria andMapIsNotNull() {
            addCriterion("Map is not null");
            return (Criteria) this;
        }

        public Criteria andMapEqualTo(Integer value) {
            addCriterion("Map =", value, "map");
            return (Criteria) this;
        }

        public Criteria andMapNotEqualTo(Integer value) {
            addCriterion("Map <>", value, "map");
            return (Criteria) this;
        }

        public Criteria andMapGreaterThan(Integer value) {
            addCriterion("Map >", value, "map");
            return (Criteria) this;
        }

        public Criteria andMapGreaterThanOrEqualTo(Integer value) {
            addCriterion("Map >=", value, "map");
            return (Criteria) this;
        }

        public Criteria andMapLessThan(Integer value) {
            addCriterion("Map <", value, "map");
            return (Criteria) this;
        }

        public Criteria andMapLessThanOrEqualTo(Integer value) {
            addCriterion("Map <=", value, "map");
            return (Criteria) this;
        }

        public Criteria andMapIn(List<Integer> values) {
            addCriterion("Map in", values, "map");
            return (Criteria) this;
        }

        public Criteria andMapNotIn(List<Integer> values) {
            addCriterion("Map not in", values, "map");
            return (Criteria) this;
        }

        public Criteria andMapBetween(Integer value1, Integer value2) {
            addCriterion("Map between", value1, value2, "map");
            return (Criteria) this;
        }

        public Criteria andMapNotBetween(Integer value1, Integer value2) {
            addCriterion("Map not between", value1, value2, "map");
            return (Criteria) this;
        }

        public Criteria andXIsNull() {
            addCriterion("X is null");
            return (Criteria) this;
        }

        public Criteria andXIsNotNull() {
            addCriterion("X is not null");
            return (Criteria) this;
        }

        public Criteria andXEqualTo(Float value) {
            addCriterion("X =", value, "x");
            return (Criteria) this;
        }

        public Criteria andXNotEqualTo(Float value) {
            addCriterion("X <>", value, "x");
            return (Criteria) this;
        }

        public Criteria andXGreaterThan(Float value) {
            addCriterion("X >", value, "x");
            return (Criteria) this;
        }

        public Criteria andXGreaterThanOrEqualTo(Float value) {
            addCriterion("X >=", value, "x");
            return (Criteria) this;
        }

        public Criteria andXLessThan(Float value) {
            addCriterion("X <", value, "x");
            return (Criteria) this;
        }

        public Criteria andXLessThanOrEqualTo(Float value) {
            addCriterion("X <=", value, "x");
            return (Criteria) this;
        }

        public Criteria andXIn(List<Float> values) {
            addCriterion("X in", values, "x");
            return (Criteria) this;
        }

        public Criteria andXNotIn(List<Float> values) {
            addCriterion("X not in", values, "x");
            return (Criteria) this;
        }

        public Criteria andXBetween(Float value1, Float value2) {
            addCriterion("X between", value1, value2, "x");
            return (Criteria) this;
        }

        public Criteria andXNotBetween(Float value1, Float value2) {
            addCriterion("X not between", value1, value2, "x");
            return (Criteria) this;
        }

        public Criteria andYIsNull() {
            addCriterion("Y is null");
            return (Criteria) this;
        }

        public Criteria andYIsNotNull() {
            addCriterion("Y is not null");
            return (Criteria) this;
        }

        public Criteria andYEqualTo(Float value) {
            addCriterion("Y =", value, "y");
            return (Criteria) this;
        }

        public Criteria andYNotEqualTo(Float value) {
            addCriterion("Y <>", value, "y");
            return (Criteria) this;
        }

        public Criteria andYGreaterThan(Float value) {
            addCriterion("Y >", value, "y");
            return (Criteria) this;
        }

        public Criteria andYGreaterThanOrEqualTo(Float value) {
            addCriterion("Y >=", value, "y");
            return (Criteria) this;
        }

        public Criteria andYLessThan(Float value) {
            addCriterion("Y <", value, "y");
            return (Criteria) this;
        }

        public Criteria andYLessThanOrEqualTo(Float value) {
            addCriterion("Y <=", value, "y");
            return (Criteria) this;
        }

        public Criteria andYIn(List<Float> values) {
            addCriterion("Y in", values, "y");
            return (Criteria) this;
        }

        public Criteria andYNotIn(List<Float> values) {
            addCriterion("Y not in", values, "y");
            return (Criteria) this;
        }

        public Criteria andYBetween(Float value1, Float value2) {
            addCriterion("Y between", value1, value2, "y");
            return (Criteria) this;
        }

        public Criteria andYNotBetween(Float value1, Float value2) {
            addCriterion("Y not between", value1, value2, "y");
            return (Criteria) this;
        }

        public Criteria andZIsNull() {
            addCriterion("Z is null");
            return (Criteria) this;
        }

        public Criteria andZIsNotNull() {
            addCriterion("Z is not null");
            return (Criteria) this;
        }

        public Criteria andZEqualTo(Float value) {
            addCriterion("Z =", value, "z");
            return (Criteria) this;
        }

        public Criteria andZNotEqualTo(Float value) {
            addCriterion("Z <>", value, "z");
            return (Criteria) this;
        }

        public Criteria andZGreaterThan(Float value) {
            addCriterion("Z >", value, "z");
            return (Criteria) this;
        }

        public Criteria andZGreaterThanOrEqualTo(Float value) {
            addCriterion("Z >=", value, "z");
            return (Criteria) this;
        }

        public Criteria andZLessThan(Float value) {
            addCriterion("Z <", value, "z");
            return (Criteria) this;
        }

        public Criteria andZLessThanOrEqualTo(Float value) {
            addCriterion("Z <=", value, "z");
            return (Criteria) this;
        }

        public Criteria andZIn(List<Float> values) {
            addCriterion("Z in", values, "z");
            return (Criteria) this;
        }

        public Criteria andZNotIn(List<Float> values) {
            addCriterion("Z not in", values, "z");
            return (Criteria) this;
        }

        public Criteria andZBetween(Float value1, Float value2) {
            addCriterion("Z between", value1, value2, "z");
            return (Criteria) this;
        }

        public Criteria andZNotBetween(Float value1, Float value2) {
            addCriterion("Z not between", value1, value2, "z");
            return (Criteria) this;
        }

        public Criteria andExpIsNull() {
            addCriterion("Exp is null");
            return (Criteria) this;
        }

        public Criteria andExpIsNotNull() {
            addCriterion("Exp is not null");
            return (Criteria) this;
        }

        public Criteria andExpEqualTo(Integer value) {
            addCriterion("Exp =", value, "exp");
            return (Criteria) this;
        }

        public Criteria andExpNotEqualTo(Integer value) {
            addCriterion("Exp <>", value, "exp");
            return (Criteria) this;
        }

        public Criteria andExpGreaterThan(Integer value) {
            addCriterion("Exp >", value, "exp");
            return (Criteria) this;
        }

        public Criteria andExpGreaterThanOrEqualTo(Integer value) {
            addCriterion("Exp >=", value, "exp");
            return (Criteria) this;
        }

        public Criteria andExpLessThan(Integer value) {
            addCriterion("Exp <", value, "exp");
            return (Criteria) this;
        }

        public Criteria andExpLessThanOrEqualTo(Integer value) {
            addCriterion("Exp <=", value, "exp");
            return (Criteria) this;
        }

        public Criteria andExpIn(List<Integer> values) {
            addCriterion("Exp in", values, "exp");
            return (Criteria) this;
        }

        public Criteria andExpNotIn(List<Integer> values) {
            addCriterion("Exp not in", values, "exp");
            return (Criteria) this;
        }

        public Criteria andExpBetween(Integer value1, Integer value2) {
            addCriterion("Exp between", value1, value2, "exp");
            return (Criteria) this;
        }

        public Criteria andExpNotBetween(Integer value1, Integer value2) {
            addCriterion("Exp not between", value1, value2, "exp");
            return (Criteria) this;
        }

        public Criteria andAtkIsNull() {
            addCriterion("Atk is null");
            return (Criteria) this;
        }

        public Criteria andAtkIsNotNull() {
            addCriterion("Atk is not null");
            return (Criteria) this;
        }

        public Criteria andAtkEqualTo(Integer value) {
            addCriterion("Atk =", value, "atk");
            return (Criteria) this;
        }

        public Criteria andAtkNotEqualTo(Integer value) {
            addCriterion("Atk <>", value, "atk");
            return (Criteria) this;
        }

        public Criteria andAtkGreaterThan(Integer value) {
            addCriterion("Atk >", value, "atk");
            return (Criteria) this;
        }

        public Criteria andAtkGreaterThanOrEqualTo(Integer value) {
            addCriterion("Atk >=", value, "atk");
            return (Criteria) this;
        }

        public Criteria andAtkLessThan(Integer value) {
            addCriterion("Atk <", value, "atk");
            return (Criteria) this;
        }

        public Criteria andAtkLessThanOrEqualTo(Integer value) {
            addCriterion("Atk <=", value, "atk");
            return (Criteria) this;
        }

        public Criteria andAtkIn(List<Integer> values) {
            addCriterion("Atk in", values, "atk");
            return (Criteria) this;
        }

        public Criteria andAtkNotIn(List<Integer> values) {
            addCriterion("Atk not in", values, "atk");
            return (Criteria) this;
        }

        public Criteria andAtkBetween(Integer value1, Integer value2) {
            addCriterion("Atk between", value1, value2, "atk");
            return (Criteria) this;
        }

        public Criteria andAtkNotBetween(Integer value1, Integer value2) {
            addCriterion("Atk not between", value1, value2, "atk");
            return (Criteria) this;
        }

        public Criteria andDefIsNull() {
            addCriterion("Def is null");
            return (Criteria) this;
        }

        public Criteria andDefIsNotNull() {
            addCriterion("Def is not null");
            return (Criteria) this;
        }

        public Criteria andDefEqualTo(Integer value) {
            addCriterion("Def =", value, "def");
            return (Criteria) this;
        }

        public Criteria andDefNotEqualTo(Integer value) {
            addCriterion("Def <>", value, "def");
            return (Criteria) this;
        }

        public Criteria andDefGreaterThan(Integer value) {
            addCriterion("Def >", value, "def");
            return (Criteria) this;
        }

        public Criteria andDefGreaterThanOrEqualTo(Integer value) {
            addCriterion("Def >=", value, "def");
            return (Criteria) this;
        }

        public Criteria andDefLessThan(Integer value) {
            addCriterion("Def <", value, "def");
            return (Criteria) this;
        }

        public Criteria andDefLessThanOrEqualTo(Integer value) {
            addCriterion("Def <=", value, "def");
            return (Criteria) this;
        }

        public Criteria andDefIn(List<Integer> values) {
            addCriterion("Def in", values, "def");
            return (Criteria) this;
        }

        public Criteria andDefNotIn(List<Integer> values) {
            addCriterion("Def not in", values, "def");
            return (Criteria) this;
        }

        public Criteria andDefBetween(Integer value1, Integer value2) {
            addCriterion("Def between", value1, value2, "def");
            return (Criteria) this;
        }

        public Criteria andDefNotBetween(Integer value1, Integer value2) {
            addCriterion("Def not between", value1, value2, "def");
            return (Criteria) this;
        }

        public Criteria andHpIsNull() {
            addCriterion("Hp is null");
            return (Criteria) this;
        }

        public Criteria andHpIsNotNull() {
            addCriterion("Hp is not null");
            return (Criteria) this;
        }

        public Criteria andHpEqualTo(Integer value) {
            addCriterion("Hp =", value, "hp");
            return (Criteria) this;
        }

        public Criteria andHpNotEqualTo(Integer value) {
            addCriterion("Hp <>", value, "hp");
            return (Criteria) this;
        }

        public Criteria andHpGreaterThan(Integer value) {
            addCriterion("Hp >", value, "hp");
            return (Criteria) this;
        }

        public Criteria andHpGreaterThanOrEqualTo(Integer value) {
            addCriterion("Hp >=", value, "hp");
            return (Criteria) this;
        }

        public Criteria andHpLessThan(Integer value) {
            addCriterion("Hp <", value, "hp");
            return (Criteria) this;
        }

        public Criteria andHpLessThanOrEqualTo(Integer value) {
            addCriterion("Hp <=", value, "hp");
            return (Criteria) this;
        }

        public Criteria andHpIn(List<Integer> values) {
            addCriterion("Hp in", values, "hp");
            return (Criteria) this;
        }

        public Criteria andHpNotIn(List<Integer> values) {
            addCriterion("Hp not in", values, "hp");
            return (Criteria) this;
        }

        public Criteria andHpBetween(Integer value1, Integer value2) {
            addCriterion("Hp between", value1, value2, "hp");
            return (Criteria) this;
        }

        public Criteria andHpNotBetween(Integer value1, Integer value2) {
            addCriterion("Hp not between", value1, value2, "hp");
            return (Criteria) this;
        }

        public Criteria andMpIsNull() {
            addCriterion("Mp is null");
            return (Criteria) this;
        }

        public Criteria andMpIsNotNull() {
            addCriterion("Mp is not null");
            return (Criteria) this;
        }

        public Criteria andMpEqualTo(Integer value) {
            addCriterion("Mp =", value, "mp");
            return (Criteria) this;
        }

        public Criteria andMpNotEqualTo(Integer value) {
            addCriterion("Mp <>", value, "mp");
            return (Criteria) this;
        }

        public Criteria andMpGreaterThan(Integer value) {
            addCriterion("Mp >", value, "mp");
            return (Criteria) this;
        }

        public Criteria andMpGreaterThanOrEqualTo(Integer value) {
            addCriterion("Mp >=", value, "mp");
            return (Criteria) this;
        }

        public Criteria andMpLessThan(Integer value) {
            addCriterion("Mp <", value, "mp");
            return (Criteria) this;
        }

        public Criteria andMpLessThanOrEqualTo(Integer value) {
            addCriterion("Mp <=", value, "mp");
            return (Criteria) this;
        }

        public Criteria andMpIn(List<Integer> values) {
            addCriterion("Mp in", values, "mp");
            return (Criteria) this;
        }

        public Criteria andMpNotIn(List<Integer> values) {
            addCriterion("Mp not in", values, "mp");
            return (Criteria) this;
        }

        public Criteria andMpBetween(Integer value1, Integer value2) {
            addCriterion("Mp between", value1, value2, "mp");
            return (Criteria) this;
        }

        public Criteria andMpNotBetween(Integer value1, Integer value2) {
            addCriterion("Mp not between", value1, value2, "mp");
            return (Criteria) this;
        }

        public Criteria andMpmaxIsNull() {
            addCriterion("MpMax is null");
            return (Criteria) this;
        }

        public Criteria andMpmaxIsNotNull() {
            addCriterion("MpMax is not null");
            return (Criteria) this;
        }

        public Criteria andMpmaxEqualTo(Integer value) {
            addCriterion("MpMax =", value, "mpmax");
            return (Criteria) this;
        }

        public Criteria andMpmaxNotEqualTo(Integer value) {
            addCriterion("MpMax <>", value, "mpmax");
            return (Criteria) this;
        }

        public Criteria andMpmaxGreaterThan(Integer value) {
            addCriterion("MpMax >", value, "mpmax");
            return (Criteria) this;
        }

        public Criteria andMpmaxGreaterThanOrEqualTo(Integer value) {
            addCriterion("MpMax >=", value, "mpmax");
            return (Criteria) this;
        }

        public Criteria andMpmaxLessThan(Integer value) {
            addCriterion("MpMax <", value, "mpmax");
            return (Criteria) this;
        }

        public Criteria andMpmaxLessThanOrEqualTo(Integer value) {
            addCriterion("MpMax <=", value, "mpmax");
            return (Criteria) this;
        }

        public Criteria andMpmaxIn(List<Integer> values) {
            addCriterion("MpMax in", values, "mpmax");
            return (Criteria) this;
        }

        public Criteria andMpmaxNotIn(List<Integer> values) {
            addCriterion("MpMax not in", values, "mpmax");
            return (Criteria) this;
        }

        public Criteria andMpmaxBetween(Integer value1, Integer value2) {
            addCriterion("MpMax between", value1, value2, "mpmax");
            return (Criteria) this;
        }

        public Criteria andMpmaxNotBetween(Integer value1, Integer value2) {
            addCriterion("MpMax not between", value1, value2, "mpmax");
            return (Criteria) this;
        }

        public Criteria andHpmaxIsNull() {
            addCriterion("HpMax is null");
            return (Criteria) this;
        }

        public Criteria andHpmaxIsNotNull() {
            addCriterion("HpMax is not null");
            return (Criteria) this;
        }

        public Criteria andHpmaxEqualTo(Integer value) {
            addCriterion("HpMax =", value, "hpmax");
            return (Criteria) this;
        }

        public Criteria andHpmaxNotEqualTo(Integer value) {
            addCriterion("HpMax <>", value, "hpmax");
            return (Criteria) this;
        }

        public Criteria andHpmaxGreaterThan(Integer value) {
            addCriterion("HpMax >", value, "hpmax");
            return (Criteria) this;
        }

        public Criteria andHpmaxGreaterThanOrEqualTo(Integer value) {
            addCriterion("HpMax >=", value, "hpmax");
            return (Criteria) this;
        }

        public Criteria andHpmaxLessThan(Integer value) {
            addCriterion("HpMax <", value, "hpmax");
            return (Criteria) this;
        }

        public Criteria andHpmaxLessThanOrEqualTo(Integer value) {
            addCriterion("HpMax <=", value, "hpmax");
            return (Criteria) this;
        }

        public Criteria andHpmaxIn(List<Integer> values) {
            addCriterion("HpMax in", values, "hpmax");
            return (Criteria) this;
        }

        public Criteria andHpmaxNotIn(List<Integer> values) {
            addCriterion("HpMax not in", values, "hpmax");
            return (Criteria) this;
        }

        public Criteria andHpmaxBetween(Integer value1, Integer value2) {
            addCriterion("HpMax between", value1, value2, "hpmax");
            return (Criteria) this;
        }

        public Criteria andHpmaxNotBetween(Integer value1, Integer value2) {
            addCriterion("HpMax not between", value1, value2, "hpmax");
            return (Criteria) this;
        }

        public Criteria andMoneyIsNull() {
            addCriterion("Money is null");
            return (Criteria) this;
        }

        public Criteria andMoneyIsNotNull() {
            addCriterion("Money is not null");
            return (Criteria) this;
        }

        public Criteria andMoneyEqualTo(Integer value) {
            addCriterion("Money =", value, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyNotEqualTo(Integer value) {
            addCriterion("Money <>", value, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyGreaterThan(Integer value) {
            addCriterion("Money >", value, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyGreaterThanOrEqualTo(Integer value) {
            addCriterion("Money >=", value, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyLessThan(Integer value) {
            addCriterion("Money <", value, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyLessThanOrEqualTo(Integer value) {
            addCriterion("Money <=", value, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyIn(List<Integer> values) {
            addCriterion("Money in", values, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyNotIn(List<Integer> values) {
            addCriterion("Money not in", values, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyBetween(Integer value1, Integer value2) {
            addCriterion("Money between", value1, value2, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyNotBetween(Integer value1, Integer value2) {
            addCriterion("Money not between", value1, value2, "money");
            return (Criteria) this;
        }

        public Criteria andEnergyIsNull() {
            addCriterion("Energy is null");
            return (Criteria) this;
        }

        public Criteria andEnergyIsNotNull() {
            addCriterion("Energy is not null");
            return (Criteria) this;
        }

        public Criteria andEnergyEqualTo(Integer value) {
            addCriterion("Energy =", value, "energy");
            return (Criteria) this;
        }

        public Criteria andEnergyNotEqualTo(Integer value) {
            addCriterion("Energy <>", value, "energy");
            return (Criteria) this;
        }

        public Criteria andEnergyGreaterThan(Integer value) {
            addCriterion("Energy >", value, "energy");
            return (Criteria) this;
        }

        public Criteria andEnergyGreaterThanOrEqualTo(Integer value) {
            addCriterion("Energy >=", value, "energy");
            return (Criteria) this;
        }

        public Criteria andEnergyLessThan(Integer value) {
            addCriterion("Energy <", value, "energy");
            return (Criteria) this;
        }

        public Criteria andEnergyLessThanOrEqualTo(Integer value) {
            addCriterion("Energy <=", value, "energy");
            return (Criteria) this;
        }

        public Criteria andEnergyIn(List<Integer> values) {
            addCriterion("Energy in", values, "energy");
            return (Criteria) this;
        }

        public Criteria andEnergyNotIn(List<Integer> values) {
            addCriterion("Energy not in", values, "energy");
            return (Criteria) this;
        }

        public Criteria andEnergyBetween(Integer value1, Integer value2) {
            addCriterion("Energy between", value1, value2, "energy");
            return (Criteria) this;
        }

        public Criteria andEnergyNotBetween(Integer value1, Integer value2) {
            addCriterion("Energy not between", value1, value2, "energy");
            return (Criteria) this;
        }

        public Criteria andGoldIsNull() {
            addCriterion("Gold is null");
            return (Criteria) this;
        }

        public Criteria andGoldIsNotNull() {
            addCriterion("Gold is not null");
            return (Criteria) this;
        }

        public Criteria andGoldEqualTo(Integer value) {
            addCriterion("Gold =", value, "gold");
            return (Criteria) this;
        }

        public Criteria andGoldNotEqualTo(Integer value) {
            addCriterion("Gold <>", value, "gold");
            return (Criteria) this;
        }

        public Criteria andGoldGreaterThan(Integer value) {
            addCriterion("Gold >", value, "gold");
            return (Criteria) this;
        }

        public Criteria andGoldGreaterThanOrEqualTo(Integer value) {
            addCriterion("Gold >=", value, "gold");
            return (Criteria) this;
        }

        public Criteria andGoldLessThan(Integer value) {
            addCriterion("Gold <", value, "gold");
            return (Criteria) this;
        }

        public Criteria andGoldLessThanOrEqualTo(Integer value) {
            addCriterion("Gold <=", value, "gold");
            return (Criteria) this;
        }

        public Criteria andGoldIn(List<Integer> values) {
            addCriterion("Gold in", values, "gold");
            return (Criteria) this;
        }

        public Criteria andGoldNotIn(List<Integer> values) {
            addCriterion("Gold not in", values, "gold");
            return (Criteria) this;
        }

        public Criteria andGoldBetween(Integer value1, Integer value2) {
            addCriterion("Gold between", value1, value2, "gold");
            return (Criteria) this;
        }

        public Criteria andGoldNotBetween(Integer value1, Integer value2) {
            addCriterion("Gold not between", value1, value2, "gold");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }
}